//从插件内导出createRouter、createWebHashHistory
import { createRouter , createWebHashHistory } from "vue-router";

//定义路由表【懒加载：组件在路由地址被调用的时候才会需要加载组件】
const routes=[
     //重定向：当访问空白地址的时候，即默认访问IndexCom
     {
        path : '/',
        //一般建议使用命名路由name属性去做重定向,因为适用于所有地址形式（包括地址上携带参数）
        redirect : {name : 'LoginCom'}
    },
    {
        path : '/login',
        name : 'LoginCom',
        component : ()=>import('@/components/LoginCom.vue'),
    },
    {
        path : '/home',
        name : 'HomeCom',
        component : ()=>import('@/components/HomeCom.vue'),
        children : [
            {
                path:'',  //子级路由的默认以父级路由作为访问地址时，直接设置空白
                //一个地址对应多个组件渲染，使用属性 components
                components : {
                    //视图的命名 ： 加载的组件
                    header : ()=>import('@/components/HomeHeader.vue'),
                }
            },
            {
                path : 'index',
                name : 'HomeMainIndex',
                component : ()=>import('@/components/homemain/HomeMainIndex.vue'),
            },
            {
                path : 'list',
                name : 'HomeMainList',
                component : ()=>import('@/components/homemain/HomeMainList.vue'),
            },
        ]
    }
];

//定义路由器/创建路由器
const router = createRouter({
    //调用路由表、实现router-link的跳转以及router-view的渲染
    //routes : routes,
    routes,

    //将路由的历史模式设置为Hash模式
    history : createWebHashHistory(),

});

// 导出路由器
export default router;